// 在⼀个⻓度为 n 的数组⾥的所有数字都在 0 到 n-1 的范围内。 数组中某些数字是重复的，但不
// 知道有⼏个数字是重复的。也不知道每个数字重复⼏次。请找出数组中第⼀个重复的数字。 例如，如果
// 输⼊⻓度为 7 的数组 [2,3,1,0,2,5,3]，那么对应的输出是第⼀个重复的数字 2。没有重复的数
// 字返回 -1。
// 输入: [ 2, 3, 1, 0, 2, 5, 3 ]
// 返回值: 2
// function duplicate (list) {
//   if (list.length === 0) return -1
//   let set = new Set()
//   for (let i = 0; i < list.length; i++) {
//     if (set.has(list[i])) {
//       return list[i]
//     } else {
//       set.add(list[i])
//     }
//     console.log(set);
//   }
//   return -1
// }

function duplicate (list) {
  if (list.length == 0) {
    return -1
  }
  for (let i = 0; i < list.length; i++) {
    let tmp = list[i]
    list[tmp] = tmp
  }
}
let list = [2, 3, 1, 0, 2, 5, 3]
let rst = duplicate(list)
console.log(rst)